变量、常量和运算符

1. 变量

1.1 什么是变量?

在编程中,变量是用于存储数据的容器。每个变量都有一个名称(标识符)和一个类型。变量的值可以在程序执行过程中改变。

1.2 变量的声明和初始化

在C++中,变量的声明需要指定其类型和名称。变量可以在声明时进行初始化,也可以在后续代码中赋值。

#include <iostream>

int main() {
    // 声明一个整型变量并初始化
    int age = 25;

    // 声明一个浮点型变量
    float height;

    // 后续赋值
    height = 1.75;

    std::cout << "Age: " << age << std::endl;
    std::cout << "Height: " << height << std::endl;

    return 0;
}

1.3 变量的命名规则

  • 变量名必须以字母或下划线开头。
  • 变量名可以包含字母、数字和下划线。
  • 变量名区分大小写。
  • 变量名不能是C++关键字。
int myVariable; // 合法
int _variable2; // 合法
int 2variable;  // 非法
int class;      // 非法(class是关键字)

2. 常量

2.1 什么是常量?

常量是固定值,在程序执行期间不会改变。常量可以是数字、字符、字符串等。

2.2 常量的声明

在C++中,常量可以使用const关键字声明。常量必须在声明时进行初始化,并且不能在后续代码中修改。

#include <iostream>

int main() {
    const int DAYS_IN_WEEK = 7;
    const float PI = 3.14159;

    std::cout << "Days in a week: " << DAYS_IN_WEEK << std::endl;
    std::cout << "Value of PI: " << PI << std::endl;

    return 0;
}

2.3 常量的命名规则

常量的命名通常采用全大写字母,单词之间用下划线分隔,以提高代码的可读性。

const int MAX_VALUE = 100;
const float MIN_TEMPERATURE = -40.0;

3. 运算符

3.1 算术运算符

算术运算符用于执行基本的数学运算。

| 运算符 | 描述 | 示例 | | --- | --- | --- | | + | 加法 | a + b | | - | 减法 | a - b | | * | 乘法 | a * b | | / | 除法 | a / b | | % | 取模(求余) | a % b |

#include <iostream>

int main() {
    int a = 10, b = 3;

    std::cout << "a + b = " << a + b << std::endl;
    std::cout << "a - b = " << a - b << std::endl;
    std::cout << "a * b = " << a * b << std::endl;
    std::cout << "a / b = " << a / b << std::endl;
    std::cout << "a % b = " << a % b << std::endl;

    return 0;
}

3.2 关系运算符

关系运算符用于比较两个值,返回布尔值(true或false)。

| 运算符 | 描述 | 示例 | | --- | --- | --- | | == | 等于 | a == b | | != | 不等于 | a != b | | > | 大于 | a > b | | < | 小于 | a < b | | >= | 大于等于 | a >= b | | <= | 小于等于 | a <= b |

#include <iostream>

int main() {
    int a = 10, b = 3;

    std::cout << "a == b: " << (a == b) << std::endl;
    std::cout << "a != b: " << (a != b) << std::endl;
    std::cout << "a > b: " << (a > b) << std::endl;
    std::cout << "a < b: " << (a < b) << std::endl;
    std::cout << "a >= b: " << (a >= b) << std::endl;
    std::cout << "a <= b: " << (a <= b) << std::endl;

    return 0;
}

3.3 逻辑运算符

逻辑运算符用于组合多个条件表达式。

| 运算符 | 描述 | 示例 | | --- | --- | --- | | && | 逻辑与 | a && b | | || | 逻辑或 | a || b | | ! | 逻辑非 | !a |

#include <iostream>

int main() {
    bool a = true, b = false;

    std::cout << "a && b: " << (a && b) << std::endl;
    std::cout << "a || b: " << (a || b) << std::endl;
    std::cout << "!a: " << (!a) << std::endl;

    return 0;
}

3.4 赋值运算符

赋值运算符用于将值赋给变量。

| 运算符 | 描述 | 示例 | | --- | --- | --- | | = | 简单赋值 | a = b | | += | 加法赋值 | a += b | | -= | 减法赋值 | a -= b | | *= | 乘法赋值 | a *= b | | /= | 除法赋值 | a /= b | | %= | 取模赋值 | a %= b |

#include <iostream>

int main() {
    int a = 10, b = 3;

    a += b; // 等价于 a = a + b
    std::cout << "a += b: " << a << std::endl;

    a -= b; // 等价于 a = a - b
    std::cout << "a -= b: " << a << std::endl;

    a *= b; // 等价于 a = a * b
    std::cout << "a *= b: " << a << std::endl;

    a /= b; // 等价于 a = a / b
    std::cout << "a /= b: " << a << std::endl;

    a %= b; // 等价于 a = a % b
    std::cout << "a %= b: " << a << std::endl;

    return 0;
}

4. 实践练习

练习1:计算圆的面积

编写一个程序,要求用户输入圆的半径,然后计算并输出圆的面积。使用常量PI表示圆周率。

#include <iostream>

int main() {
    const float PI = 3.14159;
    float radius;

    std::cout << "Enter the radius of the circle: ";
    std::cin >> radius;

    float area = PI * radius * radius;

    std::cout << "The area of the circle is: " << area << std::endl;

    return 0;
}

练习2:温度转换

编写一个程序,要求用户输入摄氏温度,然后将其转换为华氏温度并输出。转换公式为:F = C * 9/5 + 32。

#include <iostream>

int main() {
    float celsius, fahrenheit;

    std::cout << "Enter the temperature in Celsius: ";
    std::cin >> celsius;

    fahrenheit = celsius * 9 / 5 + 32;

    std::cout << "The temperature in Fahrenheit is: " << fahrenheit << std::endl;

    return 0;
}

练习3:判断闰年

编写一个程序,要求用户输入一个年份,然后判断该年份是否为闰年。闰年的判断规则如下:

  • 能被4整除但不能被100整除的年份是闰年。
  • 能被400整除的年份也是闰年。
#include <iostream>

int main() {
    int year;

    std::cout << "Enter a year: ";
    std::cin >> year;

    bool isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);

    if (isLeapYear) {
        std::cout << year << " is a leap year." << std::endl;
    } else {
        std::cout << year << " is not a leap year." << std::endl;
    }

    return 0;
}

5. 总结

在本教程中,我们学习了C++中的变量、常量和运算符。变量用于存储数据,常量用于存储固定值,运算符用于执行各种操作。通过实践练习,我们进一步巩固了这些概念。希望你能通过这些练习更好地理解和掌握这些基础知识。